A digital filter is a linear, time-invariant system which operates on a discrete input sequence (as opposed to an analog filter which operates on a continuous input) to determine a corresponding discrete output sequence. Filters, including digital filters, are often described in terms of a transfer function which characterizes the complex response of the filter to an impulse function input. Filters are utilized to select a desired band of frequencies from an input signal by substantially attenuating (ideally completely attenuating) all frequencies outside of the desired band, while passing those frequencies of interest substantially unattenuated (ideally completely unattenuated).
A filter may be generally classified by the nature of the frequencies which it passes without substantial attenuation. For example, a low-pass filter selects frequencies ranging from zero (DC) to a selected cutoff frequency; a bandpass filter selects frequencies between two (2) selected cutoff frequencies; and a notch filter or band-reject filter is complementary to a bandpass filter, i.e. it rejects (substantially attenuates) those frequencies between two (2) cutoff frequencies while passing all other frequencies.
Although ideal filters have discrete cutoff frequencies, practical filters can only approximate such a characteristic. The transition bandwidth characterizes the "sharpness" or "roll-off" of the filter transition between those frequencies which are attenuated and those which are passed. Thus, an ideal filter has a transition bandwidth of zero (step roll-off) whereas a practical, realizable filter has a transition bandwidth greater than zero.
In a typical signal processing application, a continuous signal is utilized to represent information of interest and transfer that information across a communication channel. Unfortunately, practical communication channels are subject to noise and interference (from the transmitted signal itself as well as from other transmitted signals) which tend to distort the signal as it passes over the channel. A communications receiver functions to reconstruct a reasonable facsimile of the original signal so that the information of interest contained in that signal may be ascertained at the receiving end.
A number of benefits are associated with employing a digital representation of a transmitted signal. For example, errors or distortions in the signal may be detected and/or corrected. Confidential information may be encrypted to reduce the likelihood of unauthorized interception and interpretation. The efficiency of the data channel may be increased by reducing or eliminating redundant information (data compression). Another advantage is that digital filters perform consistently over time and from unit to unit while providing immunity to temperature variations and power supply voltage variations. In addition, the evolution of integrated circuit technology and the associated advancements in digital microprocessor performance have facilitated complex manipulation of digital signals.
Due to the benefits available in processing digital signals, and that typical "real" signals are continuous in nature, it is necessary to convert the original continuous (analog) signal to a corresponding discrete (digital) signal. This function is performed by an analog to digital converter (ADC). The reverse process, conversion from a digital signal back to an analog signal, is performed by a digital to analog converter (DAC). Conversion from an analog to a digital signal is often accomplished by sampling the analog signal at predetermined time intervals. Preservation of the information contained in the original signal requires a predetermined minimum number of samples per unit time, i.e. a minimum sampling rate which is referred to as the Nyquist rate. If an ADC operates at a sampling rate substantially higher than the Nyquist rate, such as ten times the Nyquist rate, it is referred to as an oversampling ADC.
The sampling theorem provides a theoretical limitation on the minimum sampling rate required to uniquely reconstruct the original signal. In general, a signal having a finite bandwidth of F.sub.N (i.e. a bandlimited signal) can be reconstructed from samples taken at the Nyquist rate of 2F.sub.N. If the sampling theorem is not satisfied, spectral folding or aliasing occurs and the original signal can not be uniquely reconstructed from its samples. Thus, an anti-aliasing filter is used to limit the bandwidth of a signal before sampling to reduce aliases in the reconstructed signal. After sampling, each signal sample is represented by one of a number of discrete values during a process referred to as quantization.
In a number of applications, it is desirable to change the sampling rate of a discrete signal. For example, a signal sampled at a high sampling rate and represented using a one-bit quantization scheme, such as a delta modulated signal, may be converted to a multiple bit representation at a lower rate, such as a pulse code modulated (PCM) signal. The process of sampling rate reduction is referred to as decimation. The complementary process, interpolation, involves increasing the sampling rate. For example, a signal sampled at a low rate for efficient coding, such as an audio signal, may require a higher sampling rate to be modulated on a substantially higher carrier frequency for transmission across a communication channel.
Since decimation and interpolation are complementary functions, the structures utilized to perform those functions are analogous. Thus, data flow through such a structure in one direction would accomplish decimation while data flow in the opposite direction through the same structure would accomplish interpolation. Therefore, although the following disclosure focuses on a digital filter for use in decimation, it is equally applicable to an analogous filter for use in interpolation.
In typical communication systems, a baseband (low-frequency) signal is encoded (modulated) onto a bandpass signal (channel) having a higher carrier frequency since the modulated signal has better transmission characteristics. The higher frequency carrier has a wider bandwidth which allows a number of channels to be transmitted simultaneously. A number of encoding schemes may be utilized such as amplitude modulation (AM), frequency modulation (FM), or quadrature modulation (QM), among others. The modulated signal is then transferred from a transmitter to a receiver over a communication channel. The receiver may be tuned to select a particular channel of interest and demodulate the signal. A filter in the receiver, such as a digital filter, is utilized to recapture the original baseband signal.
The particular type of filter utilized depends upon the requirements of the particular application. Some applications may require a filter having a sharp roll-off while others may tolerate a wider transition bandwidth. Similarly, to minimize distortion, some applications may require a filter having a linear phase characteristic, i.e. a constant group delay independent of frequency. One type of filter which has selectable frequency characteristics and may be designed to have a linear phase characteristic is the finite impulse response (FIR) filter. Typical FIR filters are implemented with an array of multipliers to multiply various coefficients by consecutive input samples to achieve an overall desired frequency response. Thus, FIR filters require relatively complex circuitry (or software) and significant power to implement.
Another type of filter which requires less computation to implement than a FIR filter with a similar frequency response is an infinite impulse response (IIR) digital filter. However, these filters typically do not have a linear-phase response and are more susceptible to undesirable characteristics resulting from finite wordlengths utilized for implementation.
An alternative type of digital filter which provides a frequency response acceptable for decimation and interpolation applications is the cascaded integrator-comb (CIC) filter. This filtering technique may be implemented with significantly simpler logic than analogous FIR digital filters. For example, a CIC filter utilizes an array of adders and little data storage rather than the more complex multipliers and sizeable data storage required for a FIR filter. The reduced number of logic gates required for implementation improves efficiency and requires significantly less power. The CIC filtering technique is described in detail by Hogenauer, E. B. in "An Economical Class of Digital Filters for Decimation and Interpolation": IEEE Transactions on Acoustics, Speech and Signal Processing, Volume ASSP-29, No. 2, April 1981, pp. 155-162, which is hereby incorporated by reference in its entirety. However, the serial implementation of a CIC filter described by Hogenauer and implemented in a commonly available integrated circuit has a sampling rate limited to around 32 million samples per second (MSPS).